﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Vds2465Telegrams;

namespace Vds2465Parser
{
	[TestClass]
	public class Generator_SEND_NDAT_GenerateAndParse_Test
	{
		#region tests

		[TestMethod]
        [Owner("Frank Eppink")]
        public void Test01_02_ReportType_Device()
        {
            // first generate bytes
			ReportType_Device reportType = new ReportType_Device(true, eReportSubType_Device.MessageBufferOverflow);
			UserData_02_StatusChangeReport2Confirm userData02 = new UserData_02_StatusChangeReport2Confirm(0x00, 0x01, 0x02, eAddressExtension_1.Input, reportType);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData02);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.ATE_to_RCT, 0x07, false, false, userDataColl);

            IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
            byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

            // second parse the generated bytes
            Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
            Assert.IsNotNull(telegramParsed);
            Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
        }

        [TestMethod]
        [Owner("Frank Eppink")]
		public void Test02_02_ReportType_Disruption()
        {
            // first generate bytes
			ReportType_Disruption reportType = new ReportType_Disruption(true, eReportSubType_Disruption.PrimaryLine);
			UserData_02_StatusChangeReport2Confirm userData02 = new UserData_02_StatusChangeReport2Confirm(0x00, 0x01, 0x02, eAddressExtension_1.Input, reportType);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData02);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.ATE_to_RCT, 0x07, false, false, userDataColl);

            IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
            byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

            // second parse the generated bytes
            Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
            Assert.IsNotNull(telegramParsed);
            Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
        }

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test03_02_ReportType_Fire()
		{
			// first generate bytes
			UserDataColl userDataColl = new UserDataColl();
			UserData_01_Priority userData01Priority = new UserData_01_Priority(0x66);
			userDataColl.Add(userData01Priority);

			ReportType_Fire reportType = new ReportType_Fire(true, eReportSubType_Fire.General);
			UserData_02_StatusChangeReport2Confirm userData02 = new UserData_02_StatusChangeReport2Confirm(0x00, 0x01, 0x02, eAddressExtension_1.Input, reportType);
			userDataColl.Add(userData02);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.ATE_to_RCT, 0x07, false, false, userDataColl);
			
			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test04_02_ReportType_General()
		{
			// first generate bytes
			ReportType_General reportType = new ReportType_General(true, eReportSubType_General.Revision);
			UserData_02_StatusChangeReport2Confirm userData02 = new UserData_02_StatusChangeReport2Confirm(0x00, 0x01, 0x02, eAddressExtension_1.Input, reportType);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData02);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.ATE_to_RCT, 0x07, false, false, userDataColl);			

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

        [TestMethod]
        [Owner("Frank Eppink")]
		public void Test05_02_ReportType_Intrusion()
        {
            // first generate bytes
			ReportType_Intrusion reportType = new ReportType_Intrusion(true, eReportSubType_Intrusion.Burglary);
			UserData_02_StatusChangeReport2Confirm userData02 = new UserData_02_StatusChangeReport2Confirm(0x00, 0x01, 0x02, eAddressExtension_1.Input, reportType);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData02);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.ATE_to_RCT, 0x07, false, false, userDataColl);

            IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
            byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

            // second parse the generated bytes
            Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
            Assert.IsNotNull(telegramParsed);
            Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
        }

        [TestMethod]
        [Owner("Frank Eppink")]
		public void Test06_02_ReportType_Proprietary()
        {
            // first generate bytes
			ReportType_Proprietary reportType = new ReportType_Proprietary(true, 0x05);
			UserData_02_StatusChangeReport2Confirm userData02 = new UserData_02_StatusChangeReport2Confirm(0x00, 0x01, 0x02, eAddressExtension_1.Input, reportType);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData02);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.ATE_to_RCT, 0x07, false, false, userDataColl);

            IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
            byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

            // second parse the generated bytes
            Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
            Assert.IsNotNull(telegramParsed);
            Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
        }

        [TestMethod]
        [Owner("Frank Eppink")]
		public void Test07_02_ReportType_State()
        {
            // first generate bytes
			ReportType_State reportType = new ReportType_State(true, eReportSubType_State.InternalArea);
			UserData_02_StatusChangeReport2Confirm userData02 = new UserData_02_StatusChangeReport2Confirm(0x00, 0x01, 0x02, eAddressExtension_1.Input, reportType);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData02);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.ATE_to_RCT, 0x07, false, false, userDataColl);

            IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
            byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

            // second parse the generated bytes
            Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
            Assert.IsNotNull(telegramParsed);
            Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
        }

        [TestMethod]
        [Owner("Frank Eppink")]
		public void Test08_02_ReportType_Technical()
        {
            // first generate bytes
			ReportType_Technical reportType = new ReportType_Technical(true, eReportSubType_Technical.Emergency_3);
			UserData_02_StatusChangeReport2Confirm userData02 = new UserData_02_StatusChangeReport2Confirm(0x00, 0x01, 0x02, eAddressExtension_1.Input, reportType);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData02);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.ATE_to_RCT, 0x07, false, false, userDataColl);

            IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
            byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

            // second parse the generated bytes
            Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
            Assert.IsNotNull(telegramParsed);
            Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
        }

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test10_03_ReportType_Technical()
		{
			// first generate bytes
			ReportType_Technical reportType = new ReportType_Technical(true, eReportSubType_Technical.Emergency_3);
			UserData_03_StatusChangeConfirm userData03 = new UserData_03_StatusChangeConfirm(0xff, 0xfe, 0xfd, eAddressExtension_1.Output, reportType);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData03);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test10_04_ReportType_Technical()
		{
			// first generate bytes
			ReportType_Technical reportType = new ReportType_Technical(true, eReportSubType_Technical.Emergency_3);
			UserData_04_StatusChangeReport userData04 = new UserData_04_StatusChangeReport(0xff, 0xfe, 0xfd, eAddressExtension_1.Output, reportType);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData04);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

        [TestMethod]
        [Owner("Frank Eppink")]
        public void Test15_10()
        {
            // first generate bytes
			UserData_10_Query userData10 = new UserData_10_Query(UserData.UserData01Priority, 0x34);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData10);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

            IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
            byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

            // second parse the generated bytes
            Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
            Assert.IsNotNull(telegramParsed);
            Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
        }

        [TestMethod]
        [Owner("Frank Eppink")]
        public void Test16_10_StateQuery()
        {
            // first generate bytes
			UserData_10_Query userData10 = new UserData_10_Query(UserData.UserData20State, 0x34, 0x34, 0x23, (byte)eAddressExtension_1.Input);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData10);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

            IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
            byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

            // second parse the generated bytes
            Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
            Assert.IsNotNull(telegramParsed);
            Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
        }

        [TestMethod]
        [Owner("Frank Eppink")]
        public void Test17_10_TestTimer()
        {
            // first generate bytes
			UserData_10_Query userData10 = new UserData_10_Query(UserData.UserData41TestConfirm, 0x34, 0x34, 0x23, (byte)eAddressExtension_2.TestMessageInterval);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData10);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

            IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
            byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

            // second parse the generated bytes
            Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
            Assert.IsNotNull(telegramParsed);
            Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
        }

        [TestMethod]
        [Owner("Frank Eppink")]
        public void Test18_10_General()
        {
            // first generate bytes
			UserData_10_Query userData10 = new UserData_10_Query(UserData.UserData11Error, 0x34, 0x34, 0x23, 0xdd);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData10);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

            IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
            byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

            // second parse the generated bytes
            Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
            Assert.IsNotNull(telegramParsed);
            Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
        }

        [TestMethod]
        [Owner("Frank Eppink")]
        public void Test20_11()
        {
            // first generate bytes
			UserData_11_Error userData11 = new UserData_11_Error(eErrorCode.DataOutOfRange, 0x77);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData11);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

            IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
            byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

            // second parse the generated bytes
            Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
            Assert.IsNotNull(telegramParsed);
            Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
        }

        [TestMethod]
        [Owner("Frank Eppink")]
        public void Test21_11_UnknownUserDataType()
        {
            // first generate bytes
			UserData_11_Error_UserDataTypeUnknown userData11 = new UserData_11_Error_UserDataTypeUnknown(0x77, 0x02);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData11);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

            IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
            byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

            // second parse the generated bytes
            Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
            Assert.IsNotNull(telegramParsed);
            Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
        }

        [TestMethod]
        [Owner("Frank Eppink")]
        public void Test24_24_BlockState()
        {
            // first generate bytes
			UserData_24_BlockState userData24 = new UserData_24_BlockState(0x88, 0x77, 0x65, eAddressExtension_1.Input, new byte[] { 0x3A, 0xB3 });
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData24);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

            IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
            byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

            // second parse the generated bytes
            Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
            Assert.IsNotNull(telegramParsed);
            Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
        }

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test26_26_BlockStateAll()
		{
			// first generate bytes
			UserData_26_BlockStateAll userData26 = new UserData_26_BlockStateAll(0x88, 0x77, 0x65, new byte[] { 0x00 }, new byte[0], new byte[] { 0x10, 0x20, 0x05, 0x55, 0xff, 0xaf });
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData26);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

        [TestMethod]
        [Owner("Frank Eppink")]
        public void Test30_20()
        {
            // first generate bytes
			ReportType_Technical reportType = new ReportType_Technical(true, eReportSubType_Technical.Emergency_3);
			UserData_20_State userData20 = new UserData_20_State(0xff, 0xfe, 0xfd, eAddressExtension_1_InputOutput.Output, reportType);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData20);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

            IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
            byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

            // second parse the generated bytes
            Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
            Assert.IsNotNull(telegramParsed);
            Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
        }

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test31_20_Disruption()
		{
			// first generate bytes
			ReportType_Technical reportType = new ReportType_Technical(true, eReportSubType_Technical.Emergency_3);
			const eDisruptionCode disruptionCode = eDisruptionCode.NetworkError;
			UserData_20_State userData20 = new UserData_20_State(0xff, disruptionCode, 0xfd, reportType);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData20);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test30_30_RepType01()
		{
			// first generate bytes
			UserData_30_Measurements userData30 = new UserData_30_Measurements(0xff, 0xfe, 0xfd, eAddressExtension_1.Output, eMeasurementType.Temperature, 20);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData30);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test30_30_RepType02()
		{
			// first generate bytes
			UserData_30_Measurements userData30 = new UserData_30_Measurements(0xff, 0xfe, 0xfd, eAddressExtension_1.Output, 0x77, 0x88);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData30);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test30_30_RepType03()
		{
			// first generate bytes
			UserData_30_Measurements userData30 = new UserData_30_Measurements(0xff, 0xfe, 0xfd, eAddressExtension_1.Output, 0x77, 0x88, 0x99);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData30);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test30_30_RepTypeFree()
		{
			// first generate bytes
			UserData_30_Measurements userData30 = new UserData_30_Measurements(0xff, 0xfe, 0xfd, eAddressExtension_1.Output, 0xf5, new byte[] { 0xcc, 0xcb, 0xca, 0xc0 });
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData30);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test35_35_GPSCoordinates()
		{
			// first generate bytes
			UserData_35_GPSCoordinates userData35 = new UserData_35_GPSCoordinates(new byte[] { 0xcc, 0xcb, 0xca, 0xc0 });
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData35);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test40_40()
		{
			// first generate bytes
			UserData_40_Test userData40 = new UserData_40_Test();
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData40);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test41_41()
		{
			// first generate bytes
			UserData_41_TestConfirm userData41 = new UserData_41_TestConfirm();
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData41);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test41_41_Timer()
		{
			// first generate bytes
			UserData_41_TestConfirm userData41 = new UserData_41_TestConfirm(eAddressExtension_2.TimeToNextTestMessage, 640);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData41);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test42_42()
		{
			// first generate bytes
			UserData_42_SecurityCode userData42 = new UserData_42_SecurityCode(0x55, 0x66);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData42);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test44_44()
		{
			// first generate bytes
			UserData_44_History userData44 = new UserData_44_History(eHistory.Redirection);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData44);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test48_48()
		{
			// first generate bytes
			UserData_48_ConnectionPath userData48 = new UserData_48_ConnectionPath(eConnectionPath.CallbackRequest);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData48);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test50_50_01_WithSeconds()
		{
			// first generate bytes
			UserData_50_DateAndTime userData50 = new UserData_50_DateAndTime(DateTime.Now, true);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData50);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test50_50_02_WithoutSeconds()
		{
			// first generate bytes
			UserData_50_DateAndTime userData50 = new UserData_50_DateAndTime(DateTime.Now, false);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData50);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test51_51_01_String()
		{
			// first generate bytes
			UserData_51_ManufacturerId userData51 = new UserData_51_ManufacturerId("BOSCH 1234");
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData51);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test51_51_02_Bytes()
		{
			// first generate bytes
			byte[] manufacturerId = new byte[] { 0x43, 0x34, 0x76, 0xaa };
			UserData_51_ManufacturerId userData51 = new UserData_51_ManufacturerId(manufacturerId);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData51);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test52_52_01_String()
		{
			// first generate bytes
			UserData_52_CommunicationAddressS2 userData52 = new UserData_52_CommunicationAddressS2("1234 9876", false);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData52);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test52_52_02_Bytes()
		{
			// first generate bytes
			byte[] addressBytes = new byte[] { 0x43, 0x34, 0x76, 0xaa };
			UserData_52_CommunicationAddressS2 userData52 = new UserData_52_CommunicationAddressS2(addressBytes, true);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData52);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test53_53_01_String()
		{
			// first generate bytes
			UserData_53_CommunicationAddressS3 userData53 = new UserData_53_CommunicationAddressS3("1234 9876", false);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData53);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test53_53_02_Bytes()
		{
			// first generate bytes
			byte[] addressBytes = new byte[] { 0x43, 0x34, 0x76, 0xaa };
			UserData_53_CommunicationAddressS3 userData53 = new UserData_53_CommunicationAddressS3(addressBytes, true);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData53);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test54_54_01_String()
		{
			// first generate bytes
			UserData_54_AsciiCharacters userData54 = new UserData_54_AsciiCharacters("Heidenei 1234");
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData54);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test54_54_02_Bytes()
		{
			// first generate bytes
			byte[] asciiBytes = new byte[] { 0x43, 0x34, 0x76, 0xaa };
			UserData_54_AsciiCharacters userData54 = new UserData_54_AsciiCharacters(asciiBytes);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData54);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

        [TestMethod]
        [Owner("Frank Eppink")]
        public void Test55_55_Null_SupportedUserDataTypes()
        {
            // first generate bytes
			UserData_55_SupportedUserDataTypes userData55 = new UserData_55_SupportedUserDataTypes(0x33, null);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData55);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

            IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
            byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

            // second parse the generated bytes
            Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
            Assert.IsNotNull(telegramParsed);
            Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
        }

        [TestMethod]
        [Owner("Frank Eppink")]
        public void Test55_55_Empty_SupportedUserDataTypes()
        {
            // first generate bytes
			SortedSet<byte> supTypes = new SortedSet<byte>();
			UserData_55_SupportedUserDataTypes userData55 = new UserData_55_SupportedUserDataTypes(0x33, supTypes);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData55);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

            IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
            byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

            // second parse the generated bytes
            Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
            Assert.IsNotNull(telegramParsed);
            Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
        }

        [TestMethod]
        [Owner("Frank Eppink")]
        public void Test55_55_Normal_SupportedUserDataTypes()
        {
            // first generate bytes
			SortedSet<byte> supTypes = new SortedSet<byte> { 0x44, 0x55 };
			UserData_55_SupportedUserDataTypes userData55 = new UserData_55_SupportedUserDataTypes(0x33, supTypes);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData55);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

            IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
            byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

            // second parse the generated bytes
            Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
            Assert.IsNotNull(telegramParsed);
            Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
        }

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test56_56_IdentificationNumber()
		{
			// first generate bytes
			UserData_56_IdentificationNumber userData56 = new UserData_56_IdentificationNumber("12345");
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData56);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test60_60()
		{
			// first generate bytes
			UserData_60_NetStatus userData60 = new UserData_60_NetStatus(eNetStatus.WrongNumber);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData60);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test61_61()
		{
			// first generate bytes
			UserData_61_TransportServiceType userData61 = new UserData_61_TransportServiceType(eTransportServiceType.RadioDataTransmission);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData61);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test62_62_01_String()
		{
			// first generate bytes
			UserData_62_SourceNetAddress userData62 = new UserData_62_SourceNetAddress("56.2343.676");
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData62);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test62_62_02_Bytes()
		{
			// first generate bytes
			byte[] sourceNetAddressBytes = new byte[] { 0x43, 0x34, 0x76, 0xaa };
			UserData_62_SourceNetAddress userData62 = new UserData_62_SourceNetAddress(sourceNetAddressBytes);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData62);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test70_70()
		{
			// first generate bytes
			byte[] bytes = new byte[] { 0x54, 0x23 };
			UserData_70_DataBlock userData70 = new UserData_70_DataBlock(0x77, bytes);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData70);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test71_71()
		{
			// first generate bytes
			byte[] bytes = new byte[] { 0x65 };
			UserData_71_DataBlockFinal userData71 = new UserData_71_DataBlockFinal(0xcc, bytes);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData71);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test72_72()
		{
			// first generate bytes
			UserData_72_DataBlockValid userData72 = new UserData_72_DataBlockValid(0x77);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData72);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test73_73()
		{
			// first generate bytes
			UserData_73_TelegramCounter userData73 = new UserData_73_TelegramCounter(0xef, 0x77);
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData73);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test74_74()
		{
			// first generate bytes
			UserData_74_Container userData74 = new UserData_74_Container(0xef, (byte)(eBusType.M_Bus), new byte[] { 0x00, 0x10, 0x20, 0x15 });
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userData74);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		[TestMethod]
		[Owner("Frank Eppink")]
		public void Test99_FF()
		{
			// first generate bytes
			UserData_FF_ConnectionNotNeeded userDataFF = new UserData_FF_ConnectionNotNeeded();
			UserDataColl userDataColl = new UserDataColl();
			userDataColl.Add(userDataFF);
			Telegram_Calling_SEND_NDAT telegramCallingSendNdat = new Telegram_Calling_SEND_NDAT(eDirection.RCT_to_ACE, 0x07, true, true, userDataColl);

			IGeneratorParser generatorParser = Helpers.GetGeneratorParser();
			byte[] telegramBytes = generatorParser.GenerateTelegramBytes(telegramCallingSendNdat);

			// second parse the generated bytes
			Telegram telegramParsed = generatorParser.ParseTelegramBytes(telegramBytes);
			Assert.IsNotNull(telegramParsed);
			Assert.IsTrue(telegramCallingSendNdat.Equals(telegramParsed));
		}

		#endregion tests		
	}
}
